User interfaces for many types of application programs have employed a menu model for accessing functions of the application programs. A menu model provides a menu hierarchy that consists of highest-level menus with each menu having menu items. Each menu item can itself be a sub-menu or can be a command. To allow access to its functions, an application program displays the names of the highest-level menus. When a user selects a menu, the application program displays the menu items of the selected menu. When a user selects a menu item that is a sub-menu, the application program displays the menu items of the selected sub-menu. When a user selects a menu item that is a command, the application program performs the function associated with that command. For example, a menu named “file” may have menu items of “open,” “close,” “print,” and so on. The “open” menu item may be a sub-menu with the menu items of “open read-only,” “open and print,” and “open and send.”
An alternative to a user interface that provides a menu hierarchy for accessing the commands of an application program is a user interface that provides a ribbon. To provide a ribbon, an application program divides its commands into sets of commands and further into subsets of commands. A ribbon is typically displayed using a tab model that displays the name of each set of commands horizontally across the display. When a user selects a set of commands by selecting its name, the application program highlights (e.g., with underlining or bolding) the name and displays a tab box with an outline of a tab around the name. The application program also displays the subsets of commands for the selected set of commands within the box. The commands are generally represented by displaying selectable icons, buttons, tools, text, and so on that are suggestive of their functions. For example, if the name of a set of commands is “insert,” then the commands within the tab box may be icons representing an equation, an image, a video, and so on for inserting the corresponding item into a document opened by the application program. When a user then selects a different set of commands, the application program highlights the name of the set of commands and modifies the tab box to have an outline of a tab around the highlighted name. The application program also replaces the subsets of commands that are displayed within the tab box with those associated with the selected name.
FIG. 1 is a display page that illustrates a portion of a ribbon. A display page 100 includes a list 101 of the names of the sets of commands. In this example, the names for the four sets of commands are represented as S1, S2, S3, and S4. Since no name is highlighted, the application program does not display any subsets of commands. FIG. 2 is a display page that illustrates the display of subsets of commands for a selected set of commands. A display page 200 includes a list 201 of the names of the sets of commands. In response to the user selecting name S1, the application program highlights the name S1 and displays a tab box 202 with an outline of a tab around the selected name. The application program displays subsets of commands for the set of commands S1 in the tab box. The subsets of commands are identified as S1:1, S1:2, S1:3, and S1:4, and their corresponding icons are displayed in subset areas 221, 222, 223, and 224, respectively. The tab box encompasses the name S1 and the subsets of commands S1:1, S1:2, S1:3, and S1:4. A user can then select an icon representing a command to perform the function of the command. The list 201 and tab box 202 form a portion of the ribbon user interface provided by the application program. FIG. 3 is a display page that illustrates the display of the subsets of commands for a different set of commands. A display page 300 includes a list 301 of the names of the sets of commands. In response to the user selecting name S2, the application program highlights the name S2 and displays a tab box 302 with an outline of a tab around the selected name. The application program displays subsets of commands for the set of commands S2 in the tab box. The subsets of commands are identified as S2:1, S2:2, and S2:3, and their corresponding icons are displayed in subset areas 321, 322, and 323, respectively. A user can then select an icon representing a command to perform the function of the command.